/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2008，所有权利保留。
 * 
 * 项目名：	rumba-web
 * 文件名：	IsContentPanel.java
 * 模块说明：	
 * 修改历史：
 * Jul 7, 2008 - lxm - 创建。
 */
package com.hd123.rumba.gwt.util.client;

/**
 * 表明是一个可以作为模块内容的面板。
 * 
 * @author lxm
 * 
 */
public interface IsContentPanel {

  /** 标记模块内访问链接的token。 */
  public String getStartNode();

  /**
   * 取得进入当前模块的权限代码，返回null表示不进行权限检查。该方法将在进入模块前被调用。
   * <p>
   * 此方法仅适合权限的模型比较简单的情况，对于一些比较复杂的情况则建议将有关代码放在{@link #beforeShowPanel()}或 {@link #onShowPanel}中。
   * 
   * @return
   */
  public String getEntryPermission();

  /**
   * 当面板被显示前被调用。
   * 
   * @param params
   *          指定显示参数列表。
   * @throws ClientBizException
   */
  public void beforeShowPanel(JumpParams params);

  /**
   * 当面板被显示后被调用。
   * 
   * @param params
   *          指定显示参数列表。
   * @throws ClientBizException
   */
  public void onShowPanel(JumpParams params);

  /**
   * 当面板被隐藏前被调用。
   * 
   * @throws ClientBizException
   */
  public void onHidePanel();
}
